// FormValidation.js


/******************************************** ���� *****************************************************/

//�����жϺ���
function isNumber(str) 
{
	var digits = "0123456789";
	var i = 0;
	

	if(str==null) return false;
	var sLength = str.length;
    if(sLength==0)  return false;
	while ((i < sLength))
	{
	var c = str.charAt(i);
	if (digits.indexOf(c) == -1) return false;
	i++;
	}
	
	return true;
}

//У���Ƿ�ΪӢ�� 
function checkchar(str) 
{ 
	var Letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" 
	for (i=0; i < str.length; i++) 
	{ 
		var CheckChar = str.charAt(i); 
		CheckChar = CheckChar.toUpperCase(); 
		if (Letters.indexOf(CheckChar) == -1) 
		{  
			return false; 
		} 
	}
	return true; 
}

//У�� �Ƿ�Ϊ Ӣ�Ļ�������
function checkNumOrChar(str){
	var Letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" 
	for (i=0; i < str.length; i++) 
	{ 
		var CheckChar = str.charAt(i); 
		CheckChar = CheckChar.toUpperCase(); 
		if (Letters.indexOf(CheckChar) == -1) 
		{  
			return false; 
		} 
	}
	return true; 
}


//�ж��Ƿ�Ϊ�Ϸ�����ֵ����
function isValidDouble(str) 
{
	var digits = ".0123456789";
	var i = 0;
	if(str==null) return false;
	var sLength = str.length;	
    if(sLength==0)  return false;
    
	while (i < sLength)
	{
	var c = str.charAt(i);
	if (digits.indexOf(c) == -1) return false;
	i++;
	}
	
	return true;
}
//�ж��Ƿ�Ϊ�Ϸ���Сʱ
function isValidHour(str) {
  var hour;

  if(!isNumber(str)) {
      
     return false;
  }

  hour=parseInt(str,10);
  

  if(hour>23 || hour<0) {

     return false; 
  }
  return true;

}

//�ж��Ƿ�Ϊ�Ϸ��ķ���
function isValidMinute(str) {
  var minute;
  if(!isNumber(str)) {
 
     return false;
  }
  minute=parseInt(str,10);
  
  if(minute>59 || minute<0) {

     return false; 
  }
   return true;
}

//�ж��Ƿ�Ϊ�Ϸ����·�
function isValidMonth(str) {
  var month;
  if(!isNumber(str)) {    
     return false;
  }
  month=parseInt(str,10);

  
  if(month>12 || month<1) {

     return false; 
  }
   return true;
}

//��֤E-MAIL��ʽ����
function isemail (str)
{

	if (str.length > 100)
	{
		window.alert("email��ַ���Ȳ��ܳ���100λ!");
		return false;
	}
	
	var regu = "^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*[0-9a-zA-Z]+))@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2}|net|NET|com|COM|gov|GOV|mil|MIL|org|ORG|edu|EDU|int|INT)$"
	var re = new RegExp(regu);
	
	if (str.search(re) != -1) {
		return true;
	} else {
		window.alert ("��������Ч�Ϸ���E-mail��ַ ��")
		return false;
	}
}

//�ж��Ƿ����ĺ���
function ischinese(str){
	var ret=true;
	for(var i=0;i<str.length;i++)
	ret=ret && (str.charCodeAt(i)>=10000);
	return ret;
}

//�ж��Ƿ�������
function isnotchinese(str){
	var ret=true;
	for(var i=0;i<str.length;i++)
	ret=ret && (str.charCodeAt(i)<10000);
	return ret;
}

//�ж����������Ƿ�С�ڵ�ǰ����

function isValidDate(year,month) {
   var gNow = new Date();
   var vNowMonth = gNow.getMonth()+1;
   var vNowYear = gNow.getFullYear();
   
   if(!isNumber(year)|| !isValidMonth(month)) {
       alert("���������±���Ϊ����");
       return false;
   }
   if(vNowYear<=parseInt(year,10)) {      
   		if(vNowYear==parseInt(year,10)) {   				
        	if(vNowMonth>parseInt(month,10)) {
       			return false;
        	}else return true;
        	
  		}else return true;
   }
   else return false;
}

function isOverLenth(str,maxLength){	
	if (maxLength <= 0 || unicodeLength(str) <= maxLength){
		return false;
	}
	return true;
}
//  �õ��ַ���ֽڳ���
function unicodeLength(str){
	return (new String(str)).unicodeLength();
}
String.prototype.unicodeLength=function(){
	var l=0;
	for(var i=0;i<this.length;i++){
		if(this.charCodeAt(i)>255)l+=3;
		else l++;
	}
	return l;
}

//  ���ظ��ַ����Ƿ�������
function hasChinese(str){
	return (new String(str)).hasChinese();
}
String.prototype.hasChinese=function(){
	var s=escape(this);
	return (s.indexOf("%u")!=-1);
}


//�ж�һ���ַ��Ƿ���һ��������ʽ
function validatePattern(fieldId,pattern,fieldName,nullValue){
	var fieldObj = document.getElementById(fieldId);	
	if(fieldObj){
		if(fieldObj.value == nullValue){
			return true;
		}
		var regexp = new RegExp(pattern);
		//alert(regexp.test(fieldObj.value));
		//return false;
		if(!regexp.test(fieldObj.value)){
			if (fieldName==""){
				alert("���ֶεĸ�ʽ����");
			}else{
				alert(fieldName + "�ĸ�ʽ����");
			}
			fieldObj.focus();
			return false;
		}
	}
	return true;
}
//�ж��ַ��Ƿ񳬳�
function validateLength(fieldId,maxLength,fieldName,nullValue){
	var fieldObj = document.getElementById(fieldId);
	if(fieldObj){
		if(fieldObj.value == nullValue){
			return true;
		}
		if(isOverLenth(fieldObj.value,maxLength)){
			if (fieldName==""){
				alert("���ֶγ����:"+maxLength + "��Ӣ���ַ�");
			}else{
				alert(fieldName + "�����:" + maxLength + "��Ӣ���ַ�");
			}
			fieldObj.focus();
			return false;
		}
	}
	return true;
}

//�ж�һ�����Ƿ����
function validateRequired(fieldId,fieldName){
	var fieldObj = document.getElementById(fieldId);
	if (fieldObj){		
		if(fieldObj.value == ""){
			//false
			if(fieldName == ""){
				alert("���ֶβ���Ϊ��");
			}else{
				alert(fieldName + "����Ϊ��");
			}
			fieldObj.focus();
			return false;
		}
	}else{
		if(fieldName == ""){
			alert("���ֶβ���Ϊ��");
		}else{
			alert(fieldName + "����Ϊ��");
		}
		return false;
	}
	return true;
}

//У�鸡�����λ��
function checkFloat(objid,blth1,blth2,alth1,alth2){
	obj = document.getElementById(objid);
	//really float
	var patrn=/^(\d{0,})\.(\d{0,})$/;
	if (!patrn.exec(obj.value)) return false;
	//really num
	var r = obj.value.match(patrn);
	if(r[1].length<blth1 || r[1].length>blth2) return false;
	if(r[2].length<alth1 || r[2].length>alth2) return false;
	
	return true;
}


/**
 * ����ı����ֵ�Ƿ�Ϊ���ֺ�С���͸���
 * @param objID �ı���ؼ�
 * @param objName �ؼ����
 * @return ����ְ��˷Ƿ��ַ��򷵻�true,���򷵻�false  
 * @add by TZ
 */
function checkInputNumberA(objId,objName){
	var obj = document.getElementById(objId);
	var strTemp="0123456789.";
	var str=obj.value;
	var len=str.length;
	var bf=false;
	var t="";
	var n=0;
	if(len<1)
		return false;
	var c=str.charAt(0);
	var i=0;
	if(c=='-'){
		i=1;
		t="-";
	}
	var bN=false;
	for(;i<len;i++){
		if(str.charAt(i)=='-'){
			bN=true;
		}
		else if(strTemp.indexOf(str.charAt(i))<0){			
			bf=true;
		}
		else if(str.charAt(i)=='.'){
			n++;
			if(n<2)
				t+=str.charAt(i);
		}
		else{
			t+=str.charAt(i);
		}
	}
	if(bN){
		alert(objName+"ֻ������һ������!");
		obj.value=t;
	}
	if(bf){
		alert(objName+"�������������");
		obj.value=t;
	}
	else if(n>=2){
		alert(objName+"ֻ������һ��С���!");
		obj.value=t;
		bf=true;
	}	
	obj.focus();
	return bf;
}

/**
 * ����ı����ֵ�Ƿ�Ϊ����
 * @param objID �ı���ؼ�
 * @param objName �ؼ����
 * @return ����ְ��˷Ƿ��ַ��򷵻�true,���򷵻�false  
 * @add by TZ
 */
function checkInputNumberB(objId,objName){
	var obj = document.getElementById(objId);
	var str = obj.value;
	if(str!=""){
		if(!isNumber(str)){
			alert(objName+"ֻ����������");
			obj.value="";
			return false;
		}
	}
	return true;
}

/**
 * ���ҳ����ı�������
 * @return  void
 * @Add by TZ
 */
function clearItems(){
	var i;
	for(i=0;i<document.forms[0].elements.length;i++){
		var obj=document.forms[0].elements[i];
		if(obj.disabled==false){
			obj.value="";			
		}
	}
}

/**
 * ����ı����ֵ�Ƿ�С��ĳһ��ֵ(��ٷ����ܴ���1��
 * @param objID �ı���ؼ�
 * @param objName �ؼ����
 * @param numValue С�ڵĲ���ֵ
 * @return ����ְ��˷Ƿ��ַ��򷵻�true,���򷵻�false  
 * @add by TZ
 */
function checkValue(objId,objName,maxValue,minValue){
	var obj = document.getElementById(objId);
	var str = obj.value;
	if(str>maxValue){		
		alert(objName+"���ܴ���"+maxValue);
		obj.value="";
		return false;
	}	
	if(str<minValue){		
		alert(objName+"����С��"+minValue);
		obj.value="";
		return false;
	}
	return true;
}

/**
* ��������ֵ�Ƿ��ǿհ��ַ����
*/
function checkBlankValue(objId, objName) {
	var obj = document.getElementById(objId);
	var str = obj.value;
	
	if(str.length == 0) {
		alert(objName + "����Ϊ�ա�");
		obj.focus();
		return false;
	}
	
	var re = new RegExp(/^\s*$/);
	if(str.match(re) == null) {
		return true;
	} else {
		alert(objName + "����Ϊ�ա�");
		obj.focus();
		return false;
	}
}

/**
* �ж������ָ�Ƿ��ǿ�
*���Ϊ�գ�����FALSE�����򷵻�TRUE
*/
function checkBlankValue1(objId) {
	var obj = document.getElementById(objId);
	var str = obj.value;
	
	if(str.length == 0) {
		
		return false;
	}
	
	var re = new RegExp(/^\s*$/);
	if(str.match(re) == null) {
		return true;
	} else {
		
		return false;
	}
}

/**
 * ����ı����ֵ�Ƿ�Ϊ����������ֵ>=0
 * @param objID �ı���ؼ�
 * @param objName �ؼ����
 * @return ����ְ��˷Ƿ��ַ��򷵻�true,���򷵻�false  
 * @add by TZ
 */
function checkInputNumberC(objId,objName){
	var obj = document.getElementById(objId);
	var str = obj.value;
	if(str!=""){
		if(!isNumber(str)){
			alert(objName+"ֻ����������");
			obj.value="";
			return false;
		}
		if(str<0){
			alert(objName+"������ڻ������");
			obj.value="";
			return false;
		}
	}
	return true;
}

/**
 * ���һ���checkBox�Ƿ����ٱ�ѡ��һ��
 * @param chkName ����checkBox�����ֵ�ǰ׺
 * @return �����ٱ�ѡ��һ���򷵻�true�����򷵻�false
 * @add by TZ
 */
function selectOne(chkName){
	var i;
	var bf=false;
	for(i=0;i<document.forms[0].elements.length;i++){
		var obj=document.forms[0].elements[i];
		if(obj.name.indexOf(chkName)==0){			
			if(obj.disabled==false&&obj.checked){
				bf=true;
				break;
			}
		}		
	}
	return bf;
}

/**
 * ��������ı����ֵ֮��������һ��������
 * @param objID1,objID2 �ı���ؼ�
 * @param objName2,objName �ؼ����
 * @return ǰ�������ߵ�ֵ���Ǵ��ڻ��������������������֮�ʹ����㣬�򷵻�true,���򷵻�false  
 * @add by XJ
 */
function checkInputNumberD(objId1,objId2,objName1,objName2){
	var obj1 = document.getElementById(objId1);
	var obj2 = document.getElementById(objId2);
	var str1 = obj1.value;
	var str2 = obj2.value;
	if(str1!="" && str2!=""){
		if((new Number(str1) + new Number(str2)) <= 0){
			alert(objName1+"��"+objName2+"֮��������һ��Ҫ������");
			obj1.value="";
			obj2.value="";
			return false;
		}
	}
	return true;
}

//�ж������ַ��Ƿ�Ϊ����(Date)|
//
//����(Date)�������£�
//
//1.����Ϊ8λ���ַ�;2.��ʽΪ������,eg.2001-09-11;3.1900-2100;
//
//����ֵ��1����;0����
//@add by XJ

function isDate(objId)
{	
	var obj = document.getElementById(objId);
	var inStr = obj.value;
	
	var bf=true;
	
	var Year;
	var Month;
	var Day;

	var strDate=Trim(inStr);

	if(strDate.length!=10)
	//�жϳ����Ƿ���ȷ
	{
		bf=false;
	}

	if(strDate.substring(2,3) != "/" || strDate.substring(5,6) != "/"){
		bf=false;
	}
	//
	//ȡ��Year,Month,Day
	//
	//char(10)��ʽ��Date,ֱ��ȡ��Year,Month,Day
	Year=strDate.substring(6,10);
	Month=strDate.substring(0,2);
	Day=strDate.substring(3,5);
	//
	//��ȡ����Year,Month,Day���߼��ϼ����ж��Ƿ�������
	//
	if( ( isDigit(Year)!=1 )||( isDigit(Month)!=1 )||( isDigit(Day)!=1 )||( Year<"1900" )||( Year>"2100" )||( Month<"01" )||( Month>"12" ) )
	//�����շ���ֵ������ݹ�С�����Ϊ��������
	{
		bf=false;
	}
	
	//�����һ����Χ(1900-2100)�������,�ж��º��յ���ֵ�Ƿ���ȷ
	switch(Month)
	{
		case '01':
		case '03':
		case '05':
		case '07':
		case '08':
		case '10':
		case '12':
		//�����·�Ϊ31��
			if(Day<'01'||Day>'31')
				bf=false;
			break;
		case '04':
		case '06':
		case '09':
		case '11':
		//�����·�Ϊ30��
			if(Day<'01'||Day>'30')
				bf=false;
			break;
		case '02':
			if(( parseInt(Year)%4==0 && parseInt(Year)%100!=0 )|| parseInt(Year)%400==0)
			//����2
			{
				if(Day<'01'||Day>'29'){
					bf=false;
				}
			}else{
				if(Day<'01'||Day>'28'){
					bf=false;
				}
			}
			break;
	}		
	
	//obj.focus();
	return bf;
}

//
//ȥ���ַ�ͷβ�հ�|
//
//����ֵ��ȥ��Space�õ����Ӵ�
//
//@add by XJ
function Trim(inStr)
{
	if(isEmpty(inStr)==1)
		return "";
	var temp=inStr
	while(temp.indexOf(' ')==0)
		temp=temp.substring(1,temp.length);
	while(temp.lastIndexOf(' ')==temp.length-1)
		temp=temp.substring(0,temp.length-1);
	return temp;
}

//
//Ϊ�ռ���|
//
//��Ϊ����Space��ɵ��ַ�ҲΪ��
//����ֵ��1����;0����
//
//@add by XJ
function isEmpty(inStr)
{	
	for(var i=0;i<inStr.length;i++)
		if(inStr.substring(i,i+1)!=" ")
			return 0;
	return 1;
}

//
//�ж�������ַ��Ƿ�Ϊ��������ɵ�|
//
//���ֽ���0-9֮��,������Space
//
//����ֵ��1����;0����;
//
//@add by XJ
function isDigit(inStr)
{
	var Digits = "0123456789";
	var temp;
	
	if(isEmpty(inStr)==1)
		return 0;

	for(var i=0;i<inStr.length;i++)
	{
		temp=inStr.substring(i,i+1);
		if (Digits.indexOf(temp)==-1)
		{
			return 0;
		}
	}
	return 1;	
}

/**
*����һ��ȥ���ո���ֵ
*
*/
function _GetTrimStr(objectId) {
    var sOutput = document.getElementsById(objectId);
	var value1 = sOutput.value;

    value1 = value1.replace (/^(\s+)/, "");     //�ÿճ��ȵ��ַ����ǰ�ո�
    value1 = value1.replace (/(\s+)$/, "");   //�ÿճ��ȵ��ַ�����ո�

    //sOutput.value = value1;
    return value1;
}
/*
* ����绰����
*/
function checkPhoneNumber(fieldID)
{
	var phoneNumber = document.getElementById(fieldID);
	if (phoneNumber.value=="")
	{	
		return true;
	}
	else
	{
		var Letters = "0123456789()+-";
		for (i=0; i< phoneNumber.value.length; i++)
		{
			var CheckChar = phoneNumber.value.charAt(i);
			if (Letters.indexOf(CheckChar) == -1)
			{
				phoneNumber.focus();
				return false;
			}
			if((i==0 || i==phoneNumber.value.length-1)&&(CheckChar=="+" || CheckChar=="-")){
				phoneNumber.focus();
				return false;
			}
		}
	}
	return true;
}
/*
*�����ַ���
*/
function checkOverLength(fieldID,maxLength)
{
	var str = document.getElementById(fieldID);
	if(str.value.length>maxLength)
	{
		return true;
	}
	else
	{
		str.focus();
		return false;
	}
}
/*
* У���ֻ����
*/
function checkMobile(fieldID)
{
 var mobile = document.getElementById(fieldID);
 var len=mobile.value.length;
 
 if (len>11){   
    return false;
  }
var Letters = "0123456789";
for (i=0; i< mobile.value.length; i++)
{
	var CheckChar = mobile.value.charAt(i);
	if (Letters.indexOf(CheckChar) == -1)
	{
		mobile.focus();
		return false;
	}
}
 mobile.focus();
 return true;
}
/*
* У���ʱ�
*/
function checkZipCode(fieldID)
{
 var zipCode = document.getElementById(fieldID);
 var len=zipCode.value.length;
 
 if (len>6){   
    return false;
  }
var Letters = "0123456789";
for (i=0; i< zipCode.value.length; i++)
{
	var CheckChar = zipCode.value.charAt(i);
	if (Letters.indexOf(CheckChar) == -1)
	{
		zipCode.focus();
		return false;
	}
}
 zipCode.focus();
 return true;
}
  

/*
* �Ƚ�����
*/
function check2Date(date1F,time1F,date2F,time2F)
{
	var date1 = document.getElementById(date1F);
	var time1 = document.getElementById(time1F);
	var date2 = document.getElementById(date2F);
	var time2 = document.getElementById(time2F);
	if(date1.value<date2.value) 
	{	
		return false;
	}else if(date1.value==date2.value)
	{   
		if(time1.value<=time2.value)
		{	
			return false;
		}
	}
	return true;
}
/*
* �Ƚ�����
*/
function check2DateDirect(date1F,time1F,date2F,time2F)
{
	if(date1F<date2F) 
	{	
		return false;
	}else if(date1F==date2F)
	{   
		if(time1F<=time2F)
		{	
			return false;
		}
	}
	return true;
}

/*
*UTF8����
*/
function UTF8Length(str){
	return (new String(str)).UTF8Length();
}
String.prototype.UTF8Length=function(){
	var l=0;
	for(var i=0;i<this.length;i++){
		if(this.charCodeAt(i)>225)l+=3;
		else l++;
	}
	return l;
}


function LTrim(str)

{

    var whitespace = " \t\n\r";

    var s = str;

    if (whitespace.indexOf(s.charAt(0)) != -1)

    {

        var j=0, i = s.length;

        while (j < i && whitespace.indexOf(s.charAt(j)) != -1)

        {

            j++;

        }

        s = s.substring(j, i);

    }

    return s;

}


function RTrim(str)

{
    var whitespace = " \t\n\r";

    var s = str;

 

    if (whitespace.indexOf(s.charAt(s.length-1)) != -1)

    {

        var i = s.length - 1;

        while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)

        {

            i--;

        }

        s = s.substring(0, i+1);

    }

    return s;

}


function RLTrim(str)

{

    return RTrim(LTrim(str));

}

/**
*�ַ�������֮���ת��
*/
function DateStr(){
		this.str = "2006-01-11 21:22:23";
		this.date = new Date();
		this.patrn = /^(\d{0,})-(\d{0,})-(\d{0,})\s(\d{0,}):(\d{0,}):(\d{0,})$/;
		this.parse = function(){
			if (!this.patrn.exec(this.str)){
				alert("���ڸ�ʽ����ȷ��");
				return false;
			}
			var r = this.str.match(this.patrn);
			this.date.setFullYear(r[1]);
			this.date.setMonth(r[2]-1);
			this.date.setDate(r[3]);
			this.date.setHours(r[4]);
			this.date.setMinutes(r[5]);
			this.date.setSeconds(r[6]);
			return true;
		}		
}


/****************************************************************************************/






/*********************************** ���ߺ��� ********************************************/
/**
*��������select��text��
*/
function formreset(){
	var slts = document.getElementsByTagName("select");	
	for(var i=0;i<slts.length;i++){
		try{
			slts[i].options[0].selected = true;
		}catch(e){}
	}
	
	var ipts = document.getElementsByTagName("input");
	for(var i=0;i<ipts.length;i++){
		if(ipts[i].type=="text" && ipts[i].name!="ToPage")
			ipts[i].value = "";
	}
	
}

/*
*ȥ�� text �� textarea ��ǰ��ո�
*/
function trimText(){
	var ipts = document.getElementsByTagName("input");
	for(var i=0;i<ipts.length;i++){
		if(ipts[i].type=="text")
			ipts[i].value = Trim(ipts[i].value);
	}
	
	var tareas = document.getElementsByTagName("textarea");
	for(var i=0;i<tareas.length;i++){
		tareas[i].value = Trim(tareas[i].value);
	}
}

/*
*У��ؼ��Ƿ�Ϊ��
*����:�ؼ�id���ؼ�����
*������񷵻�true,�Ƿ���false
*/
function NotEmptyValid(objid,objdesc){
	obj = document.getElementById(objid);
	obj.value = RLTrim(obj.value);
	objdesc = "["+objdesc+"]";
	if(isEmpty(obj.value)){
		alert("������"+objdesc + ",��ֵ����Ϊ��");
		obj.focus();
		return false;
	}
	return true;
}

/*
*У��ؼ��Ƿ�Ϊ������
*����:�ؼ�id���ؼ�����
*������Ƿ���true,�񷵻�false
*/
function ChineseValid(objid,objdesc){
	obj = document.getElementById(objid);
	obj.value = RLTrim(obj.value);
	objdesc = "["+objdesc+"]";
	if(!ischinese(obj.value)){
		alert("�����뺺��,"+objdesc + "ֻ����д����");
		obj.focus();
		return false;
	}
	return true;
}

/*
*У��ؼ��Ƿ�Ϊ��Ӣ��
*����:�ؼ�id���ؼ�����
*������Ƿ���true,�񷵻�false
*/
function EnglishValid(objid,objdesc){
	obj = document.getElementById(objid);
	obj.value = RLTrim(obj.value);
	objdesc = "["+objdesc+"]";
	if(!checkchar(obj.value)){
		alert("������Ӣ��,"+objdesc + "ֻ����дӢ����ĸ");
		obj.focus();
		return false;
	}
	return true;
}

/*
*У��ؼ��Ƿ�Ϊ������
*����:�ؼ�id���ؼ�����
*������Ƿ���true,�񷵻�false
*/
function NumValid(objid,objdesc){
	obj = document.getElementById(objid);
	obj.value = RLTrim(obj.value);
	objdesc = "["+objdesc+"]";
	if(obj.value!=""&&!isNumber(obj.value)){
		alert("����������,"+objdesc + "ֻ����д����");
		obj.focus();
		return false;
	}
	return true;
}

/*
*У��ؼ��Ƿ�ֻΪ��ĸ��������
*����:�ؼ�id���ؼ�����
*������Ƿ���true,�񷵻�false
*/
function NumEngValid(objid,objdesc){
	obj = document.getElementById(objid);
	obj.value = RLTrim(obj.value);
	objdesc = "["+objdesc+"]";
	if(!checkNumOrChar(obj.value)){
		alert("���������ֻ���ĸ,"+objdesc + "ֻ����д���ֻ�����ĸ");
		obj.focus();
		return false;
	}
	return true;
}

/*
*У�����ĳ����Ƿ񳬳�
*����:�ؼ�id,�ؼ�����,��ݿ��ֶγ���(����)
*���:�Ϸ����ȷ���true,���򷵻�false
*/
function ChineseLength(objid,objdesc,elth){
	obj = document.getElementById(objid);
	obj.value = RLTrim(obj.value);
	objdesc = "["+objdesc+"]";
	clth = parseInt(elth/3)-0;
	if(UTF8Length(obj.value)>elth){
		alert("������Ϸ����ȵ�" + objdesc + ",���ֳ���Ӧ��С�ڻ����"+clth);
		obj.focus();
		return false;
	}
	return true;
}

/*
*У��Ӣ�ĳ����Ƿ񳬳�
*����:�ؼ�id,�ؼ�����,��ݿ��ֶγ���(����)
*���:�Ϸ����ȷ���true,���򷵻�false
*/
function EnglishLength(objid,objdesc,lth){
	obj = document.getElementById(objid);
	obj.value = RLTrim(obj.value);
	objdesc = "["+objdesc+"]";
	var reallth = lth;
	if(UTF8Length(obj.value)>reallth){
		alert("������Ϸ����ȵ�" + objdesc + "����,����Ӧ��С�ڻ����"+lth);
		obj.focus();
		return false;
	}
	return true;
}


/*
*У�鱸ע�����Ƿ񳬳�
*����:�ؼ�id,�ؼ�����,��ݿ��ֶγ���(����)
*���:�Ϸ����ȷ���true,���򷵻�false
*/
function RemarkLength(objid,objdesc,elth){
/*	obj = document.getElementById(objid);
	obj.value = RLTrim(obj.value);
	objdesc = "["+objdesc+"]";
	clth = elth/3;
	if(UTF8Length(obj.value)>elth){
		alert("������Ϸ����ȵ�" + objdesc + ",����Ӧ��С�ڻ����"+clth);
		obj.focus();
		return false;
	}
	return true;
*/	
	obj = document.getElementById(objid);
	obj.value = RLTrim(obj.value);
	objdesc = "["+objdesc+"]";
	clth = parseInt(elth/3)-0;
	if(UTF8Length(obj.value)>elth){
		alert("������Ϸ����ȵ�" + objdesc + ",����Ӧ��С�ڻ����" + clth + "�����֣�" + elth + "��Ӣ���ַ�!");
		obj.focus();
		return false;
	}
	return true;
}

/*
*У�������Ƿ�ΪMM/DD/YYYY����Ϊ��
*����:�ؼ�id,�ؼ�����
*���:�Ϸ����ڷ���true,���򷵻�false
*/
function DateValid(objid,objdesc){
	obj = document.getElementById(objid);
	obj.value = RLTrim(obj.value);
	objdesc = "["+objdesc+"]";
	if(!isDate(objid)&&obj.value!=""){
		alert("时间格式"+objdesc+",应该是：MM/DD/YYYY");
		obj.focus();
		return false;
	}
	return true;
}

/*
*У�������Ƿ�Ϊ6λ�������ֻ���Ϊ��
*����:�ؼ�id,�ؼ�����
*���:�Ϸ��ʱ෵��true,���򷵻�false
*/
function ZipCodeValid(objid,objdesc){
	obj = document.getElementById(objid);
	obj.value = RLTrim(obj.value);
	objdesc = "["+objdesc+"]";
	if(!checkZipCode(objid)&&obj.value!=""){
		alert("��������Ч��"+objdesc+",��ʽӦ��Ϊ6λ��������");
		obj.focus();
		return false;
	}
	return true;
}

/*
*У�������Ƿ�Ϊ�Ϸ�email����Ϊ��
*����:�ؼ�id,�ؼ�����
*���:�Ϸ�email����true,���򷵻�false
*/
function EmailValid(objid,objdesc){
	str = document.getElementById(objid).value;
	objdesc = "["+objdesc+"]";
	str = RLTrim(str);
	if (str.length > 100)
	{
		window.alert(objdesc + "���Ȳ��ܳ���100λ!");
		return false;
	}
	if(str.length==0)	return true;
	var regu = "^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*[0-9a-zA-Z]+))@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2}|net|NET|com|COM|gov|GOV|mil|MIL|org|ORG|edu|EDU|int|INT)$"
	var re = new RegExp(regu);
	
	if (str.search(re) != -1) {
		return true;
	} else {
		window.alert ("��������Ч�Ϸ���"+objdesc+" ��")
		return false;
	}
}

/*
*У�������Ƿ�Ϊ�Ϸ��ֻ����Ϊ��
*����:�ؼ�id,�ؼ�����
*���:�Ϸ��ֻ��true,���򷵻�false
*/
function MobileValid(objid,objdesc){
	obj = document.getElementById(objid);
	obj.value = RLTrim(obj.value);
	objdesc = "["+objdesc+"]";
	if(!checkMobile(objid)&&obj.value!=""){
		alert("��������Ч��"+objdesc+"��Ӧ��Ϊ11λ���ڵ�����");
		obj.focus();
		return false;
	}
	return true;
}

/*
*У�������Ƿ�Ϊ�Ϸ��ֻ���봮����Ϊ��
*����:�ؼ�id,�ؼ�����
*���:�Ϸ�����true,���򷵻�false
*/
function multiMobileValid(objId, objDesc){
	var obj = document.getElementById(objId);
	obj.value = RLTrim(obj.value);
	if(obj.value == "")
		return true;
	var mobiles = obj.value.split(",");
	for(i=0; i<mobiles.length; i++) {
		if(mobiles[i] == "" || mobiles[i].length > 11) {
			alert("��������Ч��["+objDesc+"]��ÿ������Ӧ��Ϊ11λ���ڵ����֣����������԰�Ƕ��ŷָ�");
			obj.focus();
			return false;
		}
		var numbers = "0123456789";
		for(j=0; j<mobiles[i].length; j++) {
			if(numbers.indexOf(mobiles[i].charAt(j)) == -1) {
				alert("��������Ч��["+objDesc+"]��ÿ������Ӧ��Ϊ11λ���ڵ����֣����������԰�Ƕ��ŷָ�");
				obj.focus();
				return false;			
			}		
		}
		//У���ظ�����
		for(j=i+1; j<mobiles.length; j++) {
			if(mobiles[i] == mobiles[j]) {
				alert("��ȥ��["+objDesc+"]�е��ظ�����");
				obj.focus();
				return false;
			}
		}	
	}
 	return true;
}

/*
*У�������Ƿ�Ϊ�Ϸ��绰�������Ϊ��
*����:�ؼ�id,�ؼ�����
*���:�Ϸ��绰���뷵��true,���򷵻�false
*/
function PhoneValid(objid,objdesc){
	obj = document.getElementById(objid);
	obj.value = RLTrim(obj.value);
	objdesc = "["+objdesc+"]";
	if(!checkPhoneNumber(objid)&&obj.value!=""){
		alert("��������Ч��"+objdesc);
		obj.focus();
		return false;
	}
	return true;
}

/*
*У�������Ƿ�Ϊ�Ϸ��ĸ�����
*����:�ؼ�id,�ؼ�������С���ǰ����λ��(����)��С���ǰ���λ��(����)��С��������λ��(����)��С�������λ��(����)
*���:�Ϸ��绰���뷵��true,���򷵻�false
*/
function FloatValid(objid,objdesc,blth1,blth2,alth1,alth2){
	obj = document.getElementById(objid);
	obj.value = RLTrim(obj.value);
	objdesc = "["+objdesc+"]";
	if(!checkFloat(objid,blth1,blth2,alth1,alth2)&&obj.value!=""){
		alert("��������Ч��"+objdesc+"! С���ǰλ�����"+blth1+"����С��"+blth2+",С����λ�����"+alth1+"����С��"+alth2);
		obj.focus();
		return false;
	}
	return true;
}

/*
*У�������Ƿ�Ϊ�Ϸ��ĸ�����, ��У��С���ǰ����󳤶�
*����:�ؼ�id,�ؼ�������С���ǰ���λ��(����)��С�������λ��(����)
*���:�Ϸ��绰���뷵��true,���򷵻�false
*/
function FloatMaxValid(objid,objdesc,blth,alth){
	obj = document.getElementById(objid);
	obj.value = RLTrim(obj.value);
	objdesc = "["+objdesc+"]";
	var b = "";
	for(var i=0;i<blth;i++){
		b += "9";
	}
	b += ".";
	for(var i=0;i<alth;i++){
		b += "9";
	}
	if(!checkFloat(objid,0,blth,0,alth)&&obj.value!=""){
		alert("��������Ч��"+objdesc+"! ��ʽΪ"+b);
		obj.focus();
		return false;
	}
	return true;
}

/*
*У�������Ƿ�Ϊ�Ϸ��ĸ�����, ��У��С���ǰ��ȷ����
*����:�ؼ�id,�ؼ�������С���ǰ��ȷλ��(����)��С����ȷλ��(����)
*���:�Ϸ��绰���뷵��true,���򷵻�false
*/
function FloatExactValid(objid,objdesc,blth,alth){
	obj = document.getElementById(objid);
	obj.value = RLTrim(obj.value);
	objdesc = "["+objdesc+"]";
	var b = "";
	for(var i=0;i<blth;i++){
		b += "9";
	}
	b += ".";
	for(var i=0;i<alth;i++){
		b += "9";
	}
	if(!checkFloat(objid,blth,blth,alth,alth)&&obj.value!=""){
		alert("��������Ч��"+objdesc+"! ��ʽΪ"+b);
		obj.focus();
		return false;
	}
	return true;
}


/*
*У�������Ƿ�Ϊ�Ϸ��ĸ�����, ��У��С���ǰ����󳤶ȣ���С����ľ�ȷλ��
*����:�ؼ�id,�ؼ�������С���ǰ��ȷλ��(����)��С����ȷλ��(����)
*���:�Ϸ��绰���뷵��true,���򷵻�false
*/
function FloatAExactValid(objid,objdesc,blth,alth){
	obj = document.getElementById(objid);
	obj.value = RLTrim(obj.value);
	objdesc = "["+objdesc+"]";
	var b = "";
	for(var i=0;i<blth;i++){
		b += "9";
	}
	b += ".";
	for(var i=0;i<alth;i++){
		b += "9";
	}
	if(!checkFloat(objid,0,blth,alth,alth)&&obj.value!=""){
		alert("��������Ч��"+objdesc+"! ��ʽΪ"+b);
		obj.focus();
		return false;
	}
	return true;
}

/*
*У��select�Ƿ�����ѡ��
*����:�ؼ�id,�ؼ���������ѡ�����valueֵ
*���:��ѡ�񷵻�true,���򷵻�false
*/
function selectNotEmpty(objid,objdesc,objvalue){
	obj = document.getElementById(objid);
	objdesc = "["+objdesc+"]";
	if(obj.value==objvalue){
		alert(objdesc+"Ϊ������,����ѡ��!");
		obj.focus();
		return false;
	}
	return true;
}

/*
*У�� ��ʼ����<��������
*����:�ؼ�id,�ؼ�����
*���:��ѡ�񷵻�true,���򷵻�false
*/
function fromtoTimeValid(fromid,toid,objdesc){

	objfrom = document.getElementById(fromid);
	objto = document.getElementById(toid);
	var fromValue = objfrom.value;
	var toValue = objto.value;

	if(objfrom.value!="")
	{
		Year=fromValue.substring(6,10);
		Month=fromValue.substring(0,2);
		Day=fromValue.substring(3,5);
		fromValue = Year+Month+Day;
	}
	if(objto.value!="")
	{
		Year=toValue.substring(6,10);
		Month=toValue.substring(0,2);
		Day=toValue.substring(3,5);
		toValue = Year+Month+Day;
	}
	objdesc = "["+objdesc+"]";
	if(fromValue!=""&&toValue.value!=""&&fromValue>toValue){
		alert(objdesc+"开始日期应该小于或者等于结束日期!");
		//obj.focus();
		return false;
	}
	return true;
}

/*
*У�� ʱ���ʽ��HH:MM��
*����:�ؼ�id,�ؼ�����
*���:��ȷ����true,���򷵻�false
*/
function TimeValid(id,objdesc){
	obj = document.getElementById(id);
	objdesc = "["+objdesc+"]";
	var patrn = /^(\d{2,2}):(\d{2,2})$/
	if(obj.value!=""&&!patrn.exec(obj.value)){
		alert("��������Ч��"+objdesc+",��ʽΪHH:MM!");
		obj.focus();
		return false;
	}
	//really num
	if(patrn.exec(obj.value)){
		var r = obj.value.match(patrn);
		if(r[1]>23 || r[2]>59){
			alert("��������Ч��"+objdesc+",��ʽΪHH:MM!");
			obj.focus();
			return false;
		}
	}
	
	return true;
}

/*
*У����
*����:�ؼ�id���ؼ�������С���ǰ���λ��
*/
function MoneyValid(objidd,objdesc,lenth){
	obj = document.getElementById(objidd);
	obj.value = RLTrim(obj.value);
	if(isNumber(obj.value)&&UTF8Length(obj.value)<=lenth) return true;
	if(checkFloat(objidd,0,lenth,0,2)) return true;
	if(obj.value=="") return true;
	alert("��������Ч��["+objdesc+"],"+"����λ������"+lenth+"λ,С��λ������2λ��");
	obj.focus();
	return false;
}

/*
*У�����ڸ�ʽΪyyyy-MM-dd HH:mm
*���룺�ؼ�id���ؼ�����
*/
function isFlightDateTime(id, desc) {
	var e = document.getElementById(id);
	e.value = Trim(e.value);
	if(e.value == "")
		return true;
		
	var ptrn = /^(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2})$/;
	if(!ptrn.exec(e.value)) {
		alert("��������ȷ��[" + desc + "]����ʽΪyyyy-MM-dd HH:mm��");
		e.focus();
		return false;
	}
	var r = e.value.match(ptrn);
	var d = new Date(r[1], r[2]-1, r[3], r[4], r[5], 0);
	if(d.getFullYear()!=r[1] || d.getMonth()+1!=r[2] || d.getDate()!=r[3] || d.getHours()!=r[4] || d.getMinutes()!=r[5]) {
		alert("��������ȷ��[" + desc + "]����ʽΪyyyy-MM-dd HH:mm��");
		e.focus();
		return false;
	}
	return true
}
//���븴�Ӷ���֤
function validatePwd(password){
	
	var ptrn = /(?!^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{2,})$/;
	if(!ptrn.exec(password.value)){
		alert("�����������ĸ���������");
		password.focus();
		return false;
		}
	if(password.value.length < 6) {
		alert("���볤�ȱ�����ڵ���6λ");
		password.focus();
		return false;
	}
	var rex = new RegExp(/^[A-Za-z0-9]+$/);
	if(!password.value.match(rex)) {
		alert("�����Ƿ��ַ�");
		password.focus();
		return false;
		}
	return true;
}

/*****************************************************************************************************/


